package cn.glccc.ds.utils;

import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.map.MapUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;

import java.util.Map;

/**
 * MyBatisPlus 条件构造工具
 *
 * @author glccc
 * @date 2024-06-08
 */
public class QueryGenerator {

    /**
     * 初始化查询条件，将传入的实体类中的属性作为查询条件
     */
    public static <T> QueryWrapper<T> initQueryWrapper(T entity) {
        QueryWrapper<T> queryWrapper = new QueryWrapper<>();


        // 将实体类转为Map
        Map<String, Object> mapEntity = BeanUtil.beanToMap(entity);
        if (MapUtil.isNotEmpty(mapEntity)) {
            // todo 需要优化查询条件
            queryWrapper.allEq(mapEntity, false);
        }

        return queryWrapper;
    }


}
